Dẫn nhập Trình_biên_dịch

Hầu hết các trình biên dịch sẽ chuyển dịch mã nguồn viết trong một ngôn ngữ cấp cao thành mã đối tượng hay ngôn ngữ máy mà có thể được thi hành trực tiếp bởi một máy tính hay bởi một máy ảo. Dù vậy, việc chuyển dịch từ một ngôn ngữ cấp thấp sang một ngôn ngữ cấp cao hơn cũng có thể xảy ra; quá trình này thường được hiểu như là bộ biên dịch ngược nếu nó có thể tái tạo lại một chương trình trong ngôn ngữ cấp cao. Cũng tồn tại các trình biên dịch chuyển đổi từ ngôn ngữ cao này sang ngôn ngữ cao khác, hay là chuyển đổi sang một ngôn ngữ mà nó cần để tiếp tục xử lý về sau; những trình biên dịch như vậy được biết như là bộ biên dịch phân tầng.

Các loại trình biên dịch cho kết quả là mã đối tượng thì một cách cơ bản bao gồm mã máy tăng cường thêm các thông tin về tên vị trí của các ngõ vào và các gọi ngoài (đến các hàm mà không có sẵn bên trong của nó). Một tập hợp của các tập tin đối tượng, mà không hẳn được cung cấp từ cùng một trình biên dịch, thì vẫn có thể được liên kết với nhau để tạo nên các chương trình khả thi cuối cùng cho một người dùng. Dĩ nhiên, để làm được như vậy thì các tập tin đối tượng đó phải được thiết kế chung nhau về dạng thức. Ví dụ của kiểu tập đối tượng này là các tập có đuôi là.obj có thể dùng chung giữa ASM, C/C++, Fortran... hay các tập tin.DLL trong các kiến trúc Windows dùng chung được cho nhiều ngôn ngữ.